/**
 * 
 */
package com.feib.stms.service;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.feib.stms.dao.TempPaymentDao;
import com.feib.stms.model.BaseTempPayment;
import com.feib.stms.model.TempUploadFile;
import com.feib.stms.pagination.PaginatedList;


/**
 * @author Jimmy Liu
 *
 */
@Transactional(readOnly = true)
public interface TempPaymentService <K extends TempPaymentDao<T>, T extends BaseTempPayment > {

	@Transactional(readOnly = false)
	public int addBaseTempPayment(T entity);

	@Transactional(readOnly = false)
	public int addBaseTempPayments(List<T> entities);

	@Transactional(readOnly = false)
	public int deleteByTempUploadFilePk(Long tempUploadFilePk);

	public TempUploadFile getSummary(TempUploadFile tempUploadFile);

	@Transactional(readOnly = false)
	public void summaryPaymentChk(TempUploadFile tempUploadFile);

	public PaginatedList<T> findPaginatedListByTempUploadFilePk(Long pk,
			PaginatedList<T> paginatedList);

	/**
	 * 取得交割款資料上傳 驗資轉交割 的明細資料
	 * @param pk
	 * @param paginatedList
	 * @return
	 */
	public PaginatedList<T> findChkPaginatedListByUploadFilePk(Long pk,
			PaginatedList<T> paginatedList);
	
}
